package modelo.equipo;

import java.util.ArrayList;

import modelo.jugadores.Jugador;

public class Equipo {
	
	//ATRIBUTOS
	ArrayList<Jugador> arqueros;
	ArrayList<Jugador> defensores;
	ArrayList<Jugador> volantes;
	ArrayList<Jugador> delanteros;
	String nombre;
	
	//METODOS
	public Equipo(String unNombre){
		
		this.nombre = unNombre;
		
		this.arqueros = new ArrayList<Jugador>();
		
		this.defensores = new ArrayList<Jugador>();
		
		this.volantes = new ArrayList<Jugador>();
		
		this.delanteros = new ArrayList<Jugador>();
		
	}
	
	//*************************************************************************
	
	public void agregarJugador(Jugador unJugador){
		
		unJugador.agregateAlEquipo(this);
		
	}
	
	//*************************************************************************
	
	public void agregarArquero(Jugador unArquero){
		
		this.arqueros.add(unArquero);
		
	}
	
	//*************************************************************************
	
	public void agregarDefensor(Jugador unDefensor){
		
		this.defensores.add(unDefensor);
		
	}
	
	//*************************************************************************
	
	public void agregarVolante(Jugador unVolante){
		
		this.volantes.add(unVolante);
		
	}
	
	//*************************************************************************
	
	public void agregarDelantero(Jugador unDelantero){
		
		this.delanteros.add(unDelantero);
		
	}
	
	//*************************************************************************
	
	public boolean quitarJugador(Jugador unJugador){
		
		return (unJugador.quitateDelEquipo(this));
		
	}
	
	//*************************************************************************
	
	public boolean quitarArquero(Jugador unArquero){
		
		return (this.arqueros.remove(unArquero));
		
	}
	
	//*************************************************************************
	
	public boolean quitarDefensor(Jugador unDefensor){
		
		return (this.defensores.remove(unDefensor));
		
	}
	
	//*************************************************************************
	
	public boolean quitarVolante(Jugador unVolante){
		
		return (this.volantes.remove(unVolante));
		
	}
	
	//*************************************************************************
	
	public boolean quitarDelantero(Jugador unDelantero){
		
		return (this.delanteros.remove(unDelantero));
		
	}
	
	//*************************************************************************
	
	public ArrayList<Jugador> obtenerArqueros(){
		
		return (this.arqueros);
		
	}
	
	//*************************************************************************
	
	public ArrayList<Jugador> obtenerDefensores(){
		
		return (this.defensores);
		
	}
	
	//*************************************************************************
	
	public ArrayList<Jugador> obtenerVolantes(){
		
		return (this.volantes);
		
	}
	
	//*************************************************************************
	
	public ArrayList<Jugador> obtenerDelanteros(){
		
		return (this.delanteros);
		
	}
	
	//*************************************************************************
	
	public String obtenerNombre(){
		
		return this.nombre;
		
	}
	
	//*************************************************************************
	
}
